#!/bin/bash

# 读取用户输入的目录路径
read -p "请输入你要批量修改名称的目录路径：" dir

# 读取用户输入的原文件扩展名
read -p "请输入要重命名的文件扩展名（如.txt）：" old_ext

# 读取用户输入的新文件扩展名（或名称格式，如果不只是简单替换扩展名）
read -p "请输入新的文件扩展名（或名称格式，如.md。如果要完全自定义名称，请确保新名称不包含与旧文件名冲突的部分）：" new_ext

# 使用find命令查找指定目录下所有符合旧扩展名的文件
path1=$(find "$dir" -maxdepth 1 -type f -name "*$old_ext")

# 遍历找到的文件
for var in $path1
do
  # 提取文件名（不含扩展名）
  filename=$(basename "$var" "$old_ext")

  # 构建新文件名
  new_filename="$dir/$filename$new_ext"

  # 使用mv命令重命名文件
  mv "$var" "$new_filename"
done

echo "所有 $old_ext 文件已重命名为 $new_ext"
